from PublicReference.carry.base import *


class 职业主动技能(主动技能):

    data0 = []
    data1 = []
    data2 = []

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能0(被动技能):
    名称 = '暗蚀'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10
    自定义描述 = 1
    关联技能 = ['双重投射', '暗矛投射', '暗矛贯穿', '绝望枪', '暗蚀螺旋枪', '连锁侵蚀',
            '坠蚀之雨', '暗蚀爆雷杀', '黑蚀酷刑', '冥夜裂空', '冥蚀脉冲', '虚空碎灭']

    def 属强加成(self):
        if self.等级 == 0:
            return 0
        else:
            return round(self.等级 * 4 + 30)

    def 加成倍率(self, 武器类型):
        return 1.2

    def 技能描述(self, 武器类型):
        temp = '暗属性强化增加：{}<br>'.format(self.等级 * 4 + 30)
        temp += '黑雷技能额外伤害比率：20%'
        return temp


class 技能1(职业主动技能):
    名称 = '侵蚀之矛'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    data0 = [(i*1.085*1.0) for i in [0, 2431, 2678, 2925, 3171, 3418, 3665, 3912, 4158, 4405, 4652, 4898, 5145, 5392, 5638, 5885, 6132, 6379, 6625, 6872, 7119, 7365, 7612, 7859, 8105, 8352, 8599, 8846, 9092, 9339, 9586, 9832, 10079, 10326, 10572, 10819, 11066, 11313, 11559, 11806, 12053, 12299, 12546, 12793, 13040, 13286, 13533, 13780, 14026, 14273, 14520, 14766, 15013, 15260, 15507, 15753, 16000, 16247, 16493, 16740, 16987, 17233, 17480, 17727, 17974, 18220, 18467, 18714, 18960, 19207, 19454]]
    攻击次数 = 1
    # 基础 = 1607.71111111111
    # 成长 = 181.644444444444
    CD = 5
    TP成长 = 0.1
    TP上限 = 5


class 技能2(职业主动技能):
    名称 = '双重投射'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    # 基础 = 1633.33333333333
    # 成长 = 184.666666666667
    data0 = [(i*1.085*1.0) for i in [0, 1235, 1361, 1486, 1612, 1737, 1862, 1988, 2113, 2238, 2364, 2489, 2615, 2740, 2865, 2991, 3116, 3241, 3367, 3492, 3618, 3743, 3868, 3994, 4119, 4245, 4370, 4495, 4621, 4746, 4871, 4997, 5122, 5248, 5373, 5498, 5624, 5749, 5874, 6000, 6125, 6251, 6376, 6501, 6627, 6752, 6877, 7003, 7128, 7254, 7379, 7504, 7630, 7755, 7881, 8006, 8131, 8257, 8382, 8507, 8633, 8758, 8884, 9009, 9134, 9260, 9385, 9510, 9636, 9761, 9887]]
    攻击次数 = 2
    # 被动倍率 = 1.2
    CD = 6
    TP成长 = 0.1
    TP上限 = 5


class 技能3(被动技能):
    名称 = '暗矛精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 20:
            return round(1 + 0.01 * self.等级, 5)
        else:
            return round(0.8 + 0.02 * self.等级, 5)

    def 魔法攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)


class 技能4(职业主动技能):
    名称 = '暗矛投射'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    data0 = [(i*1.085*1.0) for i in [0, 778, 857, 935, 1014, 1093, 1172, 1251, 1330, 1409, 1488, 1567, 1646, 1725, 1804, 1883, 1962, 2041, 2120, 2199, 2277, 2356, 2435, 2514, 2593, 2672, 2751, 2830, 2909, 2988, 3067, 3146, 3225, 3304, 3383, 3462, 3540, 3619, 3698, 3777, 3856, 3935, 4014, 4093, 4172, 4251, 4330, 4409, 4488, 4567, 4646, 4725, 4803, 4882, 4961, 5040, 5119, 5198, 5277, 5356, 5435, 5514, 5593, 5672, 5751, 5830, 5909, 5988, 6066, 6145, 6224]]
    攻击次数 = 4
    # 基础 = 2059.2380952381
    # 成长 = 232.380952380952
    # 被动倍率 = 1.2
    CD = 7
    TP成长 = 0.1
    TP上限 = 5


class 技能5(职业主动技能):
    名称 = '黑暗枪雨'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 基础 = 4060.68292682927
    # 成长 = 459.317073170732
    data0 = [(i*1.085*1.0) for i in [0, 768, 846, 924, 1002, 1080, 1158, 1236, 1314, 1392, 1470, 1548, 1626, 1704, 1782, 1860, 1938, 2016, 2094, 2172, 2250, 2328, 2406, 2484, 2562, 2640, 2718, 2796, 2874, 2952, 3030, 3108, 3186, 3264, 3342, 3420, 3498, 3576, 3654, 3732, 3810, 3888, 3966, 4044, 4122, 4200, 4278, 4356, 4434, 4512, 4590, 4668, 4746, 4824, 4902, 4980, 5058, 5136, 5214, 5292, 5370, 5448, 5526, 5604, 5682, 5760, 5838, 5916, 5994, 6072, 6150]]
    攻击次数 = 8
    CD = 12
    TP成长 = 0.1
    TP上限 = 5


class 技能6(职业主动技能):
    名称 = '暗矛贯穿'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 魔枪贯穿攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 1513, 1666, 1820, 1973, 2127, 2280, 2434, 2587, 2741, 2894, 3048, 3201, 3355, 3508, 3662, 3815, 3969, 4122, 4276, 4429, 4582, 4736, 4889, 5043, 5196, 5350, 5503, 5657, 5810, 5964, 6117, 6271, 6424, 6578, 6731, 6885, 7038, 7192, 7345, 7499, 7652, 7806, 7959, 8113, 8266, 8420, 8573, 8727, 8880, 9034, 9187, 9341, 9494, 9648, 9801, 9955, 10108, 10262, 10415, 10569, 10722, 10876, 11029, 11183, 11336, 11490, 11643, 11797, 11950, 12104]]
    # 冲击波攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 2258, 2487, 2717, 2946, 3175, 3404, 3633, 3862, 4091, 4321, 4550, 4779, 5008, 5237, 5466, 5695, 5925, 6154, 6383, 6612, 6841, 7070, 7300, 7529, 7758, 7987, 8216, 8445, 8674, 8904, 9133, 9362, 9591, 9820, 10049, 10278, 10508, 10737, 10966, 11195, 11424, 11653, 11883, 12112, 12341, 12570, 12799, 13028, 13257, 13487, 13716, 13945, 14174, 14403, 14632, 14861, 15091, 15320, 15549, 15778, 16007, 16236, 16465, 16695, 16924, 17153, 17382, 17611, 17840, 18070]]
    攻击次数2 = 1
    # 基础 = 2380.175
    # 成长 = 268.825
    # 被动倍率 = 1.2
    CD = 8
    TP成长 = 0.1
    TP上限 = 5


class 技能7(被动技能):
    名称 = '暗枪突破'
    所在等级 = 30
    等级上限 = 11
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.09 + 0.01 * self.等级, 5)


class 技能8(职业主动技能):
    名称 = '黑蚀葬礼'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 黑暗之枪爆炸攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 2046, 2254, 2461, 2669, 2877, 3084, 3292, 3499, 3707, 3915, 4122, 4330, 4537, 4745, 4953, 5160, 5368, 5576, 5783, 5991, 6198, 6406, 6614, 6821, 7029, 7236, 7444, 7652, 7859, 8067, 8275, 8482, 8690, 8897, 9105, 9313, 9520, 9728, 9936, 10143, 10351, 10558, 10766, 10974, 11181, 11389, 11596, 11804, 12012, 12219, 12427, 12635, 12842, 13050, 13257, 13465, 13673, 13880, 14088, 14296, 14503, 14711, 14918, 15126, 15334, 15541, 15749, 15956, 16164, 16372]]
    # 黑雷枪爆炸攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 3069, 3381, 3692, 4004, 4315, 4626, 4938, 5249, 5561, 5872, 6184, 6495, 6806, 7118, 7429, 7741, 8052, 8364, 8675, 8986, 9298, 9609, 9921, 10232, 10544, 10855, 11166, 11478, 11789, 12101, 12412, 12724, 13035, 13346, 13658, 13969, 14281, 14592, 14904, 15215, 15526, 15838, 16149, 16461, 16772, 17084, 17395, 17706, 18018, 18329, 18641, 18952, 19264, 19575, 19886, 20198, 20509, 20821, 21132, 21444, 21755, 22066, 22378, 22689, 23001, 23312, 23624, 23935, 24246, 24558]]
    攻击次数2 = 1
    # 基础 = 3477.21621621622
    # 成长 = 392.783783783784
    # 被动倍率 = 1.116465014
    CD = 10
    TP成长 = 0.1
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        等效倍率 += self.data0[self.等级] * self.攻击次数
        # 暗雷系
        等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能9(职业主动技能):
    名称 = '绝望枪'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 投掷魔枪攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 518, 571, 623, 676, 729, 781, 834, 887, 939, 992, 1045, 1097, 1150, 1202, 1255, 1308, 1360, 1413, 1466, 1518, 1571, 1623, 1676, 1729, 1781, 1834, 1887, 1939, 1992, 2044, 2097, 2150, 2202, 2255, 2308, 2360, 2413, 2465, 2518, 2571, 2623, 2676, 2729, 2781, 2834, 2886, 2939, 2992, 3044, 3097, 3150, 3202, 3255, 3307, 3360, 3413, 3465, 3518, 3571, 3623, 3676, 3728, 3781, 3834, 3886, 3939, 3992, 4044, 4097, 4149]]
    攻击次数 = 9
    # 基础 = 3089.43243243243
    # 成长 = 348.567567567568
    # 被动倍率 = 1.2
    CD = 8
    TP成长 = 0.1
    TP上限 = 5


class 技能10(职业主动技能):
    名称 = '暗蚀螺旋枪'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 基础 = 5703.11428571429
    # 成长 = 645.885714285714
    # 多段攻击力：<data0>% x 20
    data0 = [(i*1.085*1.0) for i in [0, 272, 300, 327, 355, 383, 410, 438, 466, 493, 521, 549, 576, 604, 631, 659, 687, 714, 742, 770, 797, 825, 853, 880, 908, 936, 963, 991, 1019, 1046, 1074, 1102, 1129, 1157, 1184, 1212, 1240, 1267, 1295, 1323, 1350, 1378, 1406, 1433, 1461, 1489, 1516, 1544, 1572, 1599, 1627, 1655, 1682, 1710, 1737, 1765, 1793, 1820, 1848, 1876, 1903, 1931, 1959, 1986, 2014, 2042, 2069, 2097, 2125, 2152, 2180]]
    攻击次数 = 20
    # 爆炸攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 3192, 3516, 3840, 4163, 4487, 4811, 5135, 5459, 5783, 6107, 6430, 6754, 7078, 7402, 7726, 8050, 8373, 8697, 9021, 9345, 9669, 9993, 10317, 10640, 10964, 11288, 11612, 11936, 12260, 12584, 12907, 13231, 13555, 13879, 14203, 14527, 14851, 15174, 15498, 15822, 16146, 16470, 16794, 17118, 17441, 17765, 18089, 18413, 18737, 19061, 19385, 19708, 20032, 20356, 20680, 21004, 21328, 21652, 21975, 22299, 22623, 22947, 23271, 23595, 23919, 24242, 24566, 24890, 25214, 25538]]
    攻击次数2 = 1
    # 被动倍率 = 1.2
    CD = 18
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.25
        elif x == 1:
            self.倍率 *= 1.25 + 0.09


class 技能11(职业主动技能):
    名称 = '连锁侵蚀'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 浓缩黑雷攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 3113, 3429, 3745, 4060, 4376, 4692, 5008, 5324, 5640, 5955, 6271, 6587, 6903, 7219, 7535, 7851, 8166, 8482, 8798, 9114, 9430, 9746, 10061, 10377, 10693, 11009, 11325, 11641, 11957, 12272, 12588, 12904, 13220, 13536, 13852, 14168, 14483, 14799, 15115, 15431, 15747, 16063, 16378, 16694, 17010, 17326, 17642, 17958, 18274, 18589, 18905, 19221, 19537, 19853, 20169, 20484, 20800, 21116, 21432, 21748, 22064, 22380, 22695, 23011, 23327, 23643, 23959, 24275, 24590, 24906]]
    # 持续伤害攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 778, 857, 936, 1015, 1094, 1173, 1252, 1331, 1410, 1488, 1567, 1646, 1725, 1804, 1883, 1962, 2041, 2120, 2199, 2278, 2357, 2436, 2515, 2594, 2673, 2752, 2831, 2910, 2989, 3068, 3147, 3226, 3305, 3384, 3463, 3542, 3620, 3699, 3778, 3857, 3936, 4015, 4094, 4173, 4252, 4331, 4410, 4489, 4568, 4647, 4726, 4805, 4884, 4963, 5042, 5121, 5200, 5279, 5358, 5437, 5516, 5595, 5673, 5752, 5831, 5910, 5989, 6068, 6147, 6226]]
    攻击次数2 = 6
    # 基础 = 4925.65714285714
    # 成长 = 556.342857142857
    CD = 20
    TP成长 = 0.1
    TP上限 = 5


class 技能12(职业主动技能):
    名称 = '坠蚀之雨'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    # 基础 = 6881.875
    # 成长 = 778.125
    CD = 22
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    data0 = [(i*1.085*1.0) for i in [0, 520, 573, 626, 679, 732, 785, 838, 890, 943, 996, 1049, 1102, 1155, 1207, 1260, 1313, 1366, 1419, 1472, 1525, 1577, 1630, 1683, 1736, 1789, 1842, 1894, 1947, 2000, 2053, 2106, 2159, 2212, 2264, 2317, 2370, 2423, 2476, 2529, 2581, 2634, 2687, 2740, 2793, 2846, 2899, 2951, 3004, 3057, 3110, 3163, 3216, 3268, 3321, 3374, 3427, 3480, 3533, 3586, 3638, 3691, 3744, 3797, 3850, 3903, 3955, 4008, 4061, 4114, 4167]]
    攻击次数 = 20

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 += 2
            self.data1 = [(i*1.085*3.6) for i in self.data0]
            self.攻击次数2 = 1
            # self.倍率 *= 1.28
        elif x == 1:
            self.data0 = [(i*1.085*1.09) for i in self.data0]
            self.攻击次数 += 2
            self.data1 = [(i*1.085*3.6) for i in self.data0]
            self.攻击次数2 = 1
            # self.倍率 *= 1.3952


class 技能13(职业主动技能):
    名称 = '暗蚀爆雷杀'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    # 基础 = 12367.6
    # 成长 = 1396.4
    # 被动倍率 = 1.2
    # 贯穿攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 6734, 7417, 8100, 8784, 9467, 10150, 10833, 11516, 12200, 12883, 13566, 14249, 14932, 15616, 16299, 16982, 17665, 18348, 19032, 19715, 20398, 21081, 21764, 22448, 23131, 23814, 24497, 25180, 25864, 26547, 27230, 27913, 28597, 29280, 29963, 30646, 31329, 32013, 32696, 33379, 34062, 34745, 35429, 36112, 36795, 37478, 38161, 38845, 39528, 40211, 40894, 41577, 42261, 42944, 43627, 44310, 44993, 45677, 46360, 47043, 47726, 48409, 49093, 49776, 50459, 51142, 51825, 52509, 53192, 53875]]
    # 冲击波攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 4744, 5225, 5707, 6188, 6669, 7151, 7632, 8113, 8595, 9076, 9557, 10039, 10520, 11001, 11483, 11964, 12445, 12927, 13408, 13889, 14370, 14852, 15333, 15814, 16296, 16777, 17258, 17740, 18221, 18702, 19184, 19665, 20146, 20628, 21109, 21590, 22072, 22553, 23034, 23516, 23997, 24478, 24960, 25441, 25922, 26404, 26885, 27366, 27848, 28329, 28810, 29292, 29773, 30254, 30736, 31217, 31698, 32180, 32661, 33142, 33623, 34105, 34586, 35067, 35549, 36030, 36511, 36993, 37474, 37955]]
    攻击次数2 = 1
    # 爆炸攻击力：<data2>%
    data2 = [(i*1.085*1.0) for i in [0, 7217, 7949, 8681, 9414, 10146, 10878, 11610, 12342, 13075, 13807, 14539, 15271, 16003, 16736, 17468, 18200, 18932, 19665, 20397, 21129, 21861, 22593, 23326, 24058, 24790, 25522, 26254, 26987, 27719, 28451, 29183, 29915, 30648, 31380, 32112, 32844, 33576, 34309, 35041, 35773, 36505, 37238, 37970, 38702, 39434, 40166, 40899, 41631, 42363, 43095, 43827, 44560, 45292, 46024, 46756, 47488, 48221, 48953, 49685, 50417, 51149, 51882, 52614, 53346, 54078, 54810, 55543, 56275, 57007, 57739]]
    攻击次数3 = 1
    CD = 40
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.24
            self.CD *= 0.9
        elif x == 1:
            self.倍率 *= 1.24 + 0.08
            self.CD *= 0.9


class 技能14(被动技能):
    名称 = '黑暗支配者'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.105 + 0.015 * self.等级, 5)


class 技能15(职业主动技能):
    名称 = '无尽侵蚀：缚魂'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    # 黑暗之枪攻击力：<data0>% x 15
    data0 = [(i*1.085*1.0) for i in [0, 1710, 2107, 2504, 2900, 3297, 3694, 4090, 4487, 4884, 5280, 5677, 6074, 6470, 6867, 7264, 7660, 8057, 8454, 8850, 9247, 9644, 10041, 10437, 10834, 11231, 11627, 12024, 12421, 12817, 13214, 13611, 14007, 14404, 14801, 15197, 15594, 15991, 16387, 16784, 17181, 17578, 17974, 18371, 18768, 19164, 19561, 19958, 20354, 20751, 21148, 21544, 21941, 22338, 22734, 23131, 23528, 23924, 24321, 24718, 25115, 25511, 25908, 26305, 26701, 27098, 27495, 27891, 28288, 28685, 29081]]
    攻击次数 = 15
    # 爆炸攻击力：<data1>% x 10 - 黑雷系
    data1 = [(i*1.085*1.0) for i in [0, 3136, 3863, 4590, 5318, 6045, 6772, 7499, 8227, 8954, 9681, 10408, 11136, 11863, 12590, 13317, 14045, 14772, 15499, 16226, 16954, 17681, 18408, 19135, 19863, 20590, 21317, 22044, 22772, 23499, 24226, 24953, 25681, 26408, 27135, 27862, 28590, 29317, 30044, 30771, 31499, 32226, 32953, 33680, 34408, 35135, 35862, 36589, 37317, 38044, 38771, 39498, 40226, 40953, 41680, 42407, 43135, 43862, 44589, 45316, 46044, 46771, 47498, 48225, 48953, 49680, 50407, 51134, 51862, 52589, 53316]]
    攻击次数2 = 10
    # 基础 = 32105
    # 成长 = 9745
    # 被动倍率 = 1.1
    CD = 145

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        等效倍率 += self.data0[self.等级] * self.攻击次数
        # 暗雷系
        等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能16(职业主动技能):
    名称 = '暗影蚀魂'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    data0 = [(i*1.085*1.0) for i in [0, 19909, 21929, 23949, 25969, 27988, 30008, 32028, 34048, 36068, 38087, 40107, 42127, 44147, 46167, 48187, 50206, 52226, 54246, 56266, 58286, 60305, 62325, 64345, 66365, 68385, 70405, 72424, 74444, 76464, 78484, 80504, 82523, 84543, 86563, 88583, 90603, 92623, 94642, 96662, 98682, 100702, 102722, 104741, 106761, 108781, 110801, 112821, 114841, 116860, 118880, 120900, 122920, 124940, 126959, 128979, 130999, 133019, 135039, 137059, 139078, 141098, 143118, 145138, 147158, 149177, 151197, 153217, 155237, 157257, 159277]]
    # 基础 = 13168.1363636364
    # 成长 = 1486.86363636364
    CD = 30
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.27
        elif x == 1:
            self.倍率 *= 1.27 + 0.09


class 技能17(职业主动技能):
    名称 = '黑蚀酷刑'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    # 基础 = 20123.2941176471
    # 成长 = 2272.70588235294
    # 被动倍率 = 1.2
    # 巨大魔枪攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 6202, 6831, 7460, 8089, 8719, 9348, 9977, 10606, 11235, 11865, 12494, 13123, 13752, 14381, 15011, 15640, 16269, 16898, 17527, 18157, 18786, 19415, 20044, 20673, 21303, 21932, 22561, 23190, 23820, 24449, 25078, 25707, 26336, 26966, 27595, 28224, 28853, 29482, 30112, 30741, 31370, 31999, 32628, 33258, 33887, 34516, 35145, 35774, 36404, 37033, 37662, 38291, 38921, 39550, 40179, 40808, 41437, 42067, 42696, 43325, 43954, 44583, 45213, 45842, 46471, 47100, 47729, 48359, 48988, 49617]]
    # 小型魔枪攻击力：<data1>%
    data1 = [(i*1.085*1.0) for i in [0, 1550, 1707, 1865, 2022, 2179, 2337, 2494, 2651, 2808, 2966, 3123, 3280, 3438, 3595, 3752, 3910, 4067, 4224, 4381, 4539, 4696, 4853, 5011, 5168, 5325, 5483, 5640, 5797, 5955, 6112, 6269, 6426, 6584, 6741, 6898, 7056, 7213, 7370, 7528, 7685, 7842, 7999, 8157, 8314, 8471, 8629, 8786, 8943, 9101, 9258, 9415, 9572, 9730, 9887, 10044, 10202, 10359, 10516, 10674, 10831, 10988, 11145, 11303, 11460, 11617, 11775, 11932, 12089, 12247, 12404]]
    攻击次数2 = 10
    # 爆炸攻击力：<data2>%
    data2 = [(i*1.085*1.0) for i in [0, 8720, 9605, 10489, 11374, 12259, 13143, 14028, 14913, 15798, 16682, 17567, 18452, 19336, 20221, 21106, 21990, 22875, 23760, 24644, 25529, 26414, 27298, 28183, 29068, 29953, 30837, 31722, 32607, 33491, 34376, 35261, 36145, 37030, 37915, 38799, 39684, 40569, 41453, 42338, 43223, 44108, 44992, 45877, 46762, 47646, 48531, 49416, 50300, 51185, 52070, 52954, 53839, 54724, 55608, 56493, 57378, 58263, 59147, 60032, 60917, 61801, 62686, 63571, 64455, 65340, 66225, 67109, 67994, 68879, 69764]]
    攻击次数3 = 1
    CD = 45
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数2 = 0
            self.倍率 *= 2.42
            # self.倍率 *= 1.186843623
            self.CD *= 0.9
        elif x == 1:
            self.攻击次数2 = 0
            self.倍率 *= 2.58
            # self.倍率 *= 1.265312237
            self.CD *= 0.9


class 技能18(被动技能):
    名称 = '黑暗本源'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能19(职业主动技能):
    名称 = '冥夜裂空'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    data0 = [(i*1.085*1.0) for i in [0, 2470, 2720, 2971, 3221, 3472, 3722, 3973, 4224, 4474, 4725, 4975, 5226, 5476, 5727, 5978, 6228, 6479, 6729, 6980, 7231, 7481, 7732, 7982, 8233, 8483, 8734, 8985, 9235, 9486, 9736, 9987, 10238, 10488, 10739, 10989, 11240, 11490, 11741, 11992, 12242, 12493, 12743, 12994, 13245, 13495, 13746, 13996, 14247, 14497, 14748, 14999, 15249, 15500, 15750, 16001, 16251, 16502, 16753, 17003, 17254, 17504, 17755, 18006, 18256, 18507, 18757, 19008, 19258, 19509, 19760]]
    攻击次数 = 20
    # 基础 = 32649.3333333333
    # 成长 = 3690.66666666667
    # 被动倍率 = 1.2
    CD = 40
    是否有护石 = 1

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.34


class 技能20(职业主动技能):
    名称 = '冥蚀脉冲'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 基础 = 37386.1666666667
    # 成长 = 4222.83333333333
    # 被动倍率 = 1.2
    # 黑暗气息攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 5654, 6227, 6801, 7375, 7948, 8522, 9095, 9669, 10243, 10816, 11390, 11963, 12537, 13111, 13684, 14258, 14832, 15405, 15979, 16552, 17126, 17700, 18273, 18847, 19420, 19994, 20568, 21141, 21715, 22288, 22862, 23436, 24009, 24583, 25157, 25730, 26304, 26877, 27451, 28025, 28598, 29172, 29745, 30319, 30893, 31466, 32040, 32614, 33187, 33761, 34334, 34908, 35482, 36055, 36629, 37202, 37776, 38350, 38923, 39497, 40071, 40644, 41218, 41791, 42365, 42939, 43512, 44086, 44659, 45233]]
    # 地面射出的黑雷枪攻击力：<data1>% x 8
    data1 = [(i*1.085*1.0) for i in [0, 2968, 3269, 3570, 3871, 4173, 4474, 4775, 5076, 5377, 5678, 5979, 6281, 6582, 6883, 7184, 7485, 7786, 8087, 8389, 8690, 8991, 9292, 9593, 9894, 10195, 10497, 10798, 11099, 11400, 11701, 12002, 12304, 12605, 12906, 13207, 13508, 13809, 14110, 14412, 14713, 15014, 15315, 15616, 15917, 16218, 16520, 16821, 17122, 17423, 17724, 18025, 18326, 18628, 18929, 19230, 19531, 19832, 20133, 20434, 20736, 21037, 21338, 21639, 21940, 22241, 22543, 22844, 23145, 23446, 23747]]
    攻击次数2 = 8
    # 爆炸攻击力：<data2>%
    data2 = [(i*1.085*1.0) for i in [0, 27140, 29893, 32646, 35400, 38153, 40906, 43660, 46413, 49166, 51920, 54673, 57426, 60180, 62933, 65686, 68440, 71193, 73946, 76700, 79453, 82207, 84960, 87713, 90467, 93220, 95973, 98727, 101480, 104233, 106987, 109740, 112493, 115247, 118000, 120753, 123507, 126260, 129013, 131767, 134520, 137273, 140027, 142780, 145533, 148287, 151040, 153793, 156547, 159300, 162054, 164807, 167560, 170314, 173067, 175820, 178574, 181327, 184080, 186834, 189587, 192340, 195094, 197847, 200600, 203354, 206107, 208860, 211614, 214367, 217120]]
    攻击次数3 = 1
    CD = 45
    是否有护石 = 1

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.32
            self.CD *= 0.9


class 技能21(职业主动技能):
    名称 = '幽影暗蚀：寂灭'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    # 黑暗气息攻击力：<data0>%
    data0 = [(i*1.085*1.0) for i in [0, 5834, 7187, 8540, 9893, 11246, 12599, 13951, 15304, 16657, 18010, 19363, 20716, 22069, 23422, 24775, 26128, 27481, 28834, 30186, 31539, 32892, 34245, 35598, 36951, 38304, 39657, 41010, 42363, 43716, 45069, 46421, 47774, 49127, 50480, 51833, 53186, 54539, 55892, 57245, 58598, 59951, 61304, 62656, 64009, 65362, 66715, 68068, 69421, 70774, 72127, 73480, 74833, 76186, 77539, 78891, 80244, 81597, 82950, 84303, 85656, 87009, 88362, 89715, 91068, 92421, 93774, 95126, 96479, 97832, 99185]]
    # 爆炸攻击力：<data1>% 暗雷系
    data1 = [(i*1.085*1.0) for i in [0, 110854, 136560, 162265, 187970, 213676, 239381, 265087, 290792, 316497, 342203, 367908, 393614, 419319, 445024, 470730, 496435, 522141, 547846, 573552, 599257, 624962, 650668, 676373, 702079, 727784, 753489, 779195, 804900, 830606, 856311, 882016, 907722, 933427, 959133, 984838, 1010544, 1036249, 1061954, 1087660, 1113365, 1139070, 1164776, 1190481, 1216187, 1241892, 1267598, 1293303, 1319009, 1344714, 1370419, 1396125, 1421830, 1447536, 1473241, 1498946, 1524652, 1550357, 1576063, 1601768, 1627474, 1653179, 1678884, 1704590, 1730295, 1756000, 1781706, 1807411, 1833117, 1858822, 1884527]]
    攻击次数2 = 1
    # 基础 = 65823.8674698795
    # 成长 = 19946.6265060241
    # 被动倍率 = 1.186269717

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        等效倍率 += self.data0[self.等级] * self.攻击次数
        # 暗雷系
        等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率
    CD = 180


class 技能22(被动技能):
    名称 = '暗源之蚀'
    所在等级 = 95
    等级上限 = 40
    等级精通 = 30
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(职业主动技能):
    名称 = '虚空碎灭'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    data0 = [int(i*1.085) for i in [0, 32746, 36068, 39390, 42712, 46034, 49356, 52679, 56001, 59323, 62645, 65967, 69289, 72611, 75933, 79255, 82578, 85900, 89222, 92544, 95866, 99188, 102510, 105832, 109154, 112476, 115799, 119121, 122443, 125765, 129087, 132409, 135731, 139053, 142375, 145698, 149020, 152342, 155664, 158986, 162308, 165630, 168952, 172274, 175596, 178919, 182241, 185563, 188885, 192207, 195529, 198851, 202173, 205495, 208818, 212140, 215462, 218784, 222106, 225428, 228750, 232072, 235394, 238716, 242039, 245361, 248683, 252005, 255327, 258649, 261971]]
    攻击次数 = 1
    data1 = [int(i*1.085) for i in [0, 935, 1030, 1125, 1220, 1315, 1410, 1505, 1600, 1694, 1789, 1884, 1979, 2074, 2169, 2264, 2359, 2454, 2549, 2644, 2739, 2833, 2928, 3023, 3118, 3213, 3308, 3403, 3498, 3593, 3688, 3783, 3878, 3972, 4067, 4162, 4257, 4352, 4447, 4542, 4637, 4732, 4827, 4922, 5017, 5111, 5206, 5301, 5396, 5491, 5586, 5681, 5776, 5871, 5966, 6061, 6156, 6250, 6345, 6440, 6535, 6630, 6725, 6820, 6915, 7010, 7105, 7200, 7295, 7389, 7484]]
    攻击次数2 = 20
    data2 = [int(i*1.085) for i in [0, 42102, 46373, 50645, 54916, 59187, 63458, 67730, 72001, 76272, 80544, 84815, 89086, 93357, 97629, 101900, 106171, 110443, 114714, 118985, 123256, 127528, 131799, 136070, 140341, 144613, 148884, 153155, 157427, 161698, 165969, 170240, 174512, 178783, 183054, 187326, 191597, 195868, 200139, 204411, 208682, 212953, 217224, 221496, 225767, 230038, 234310, 238581, 242852, 247123, 251395, 255666, 259937, 264209, 268480, 272751, 277022, 281294, 285565, 289836, 294108, 298379, 302650, 306921, 311193, 315464, 319735, 324006, 328278, 332549, 336820]]
    攻击次数3 = 1
    CD = 60.0



# 贯穿攻击力
# 旋转攻击力
# 爆炸攻击力


class 技能24(职业主动技能):
    名称 = '暗·渊灭禁绝'
    所在等级 = 100
    等级上限 = 40
    等级精通 = 30
    基础等级 = 2
    # 暗蚀之枪
    data0 = [int(i*1.085) for i in [0, 11766, 14495, 17224, 19952, 22681, 25409, 28138, 30867, 33595, 36324, 39052, 41781, 44509, 47238, 49967, 52695, 55424, 58152, 60881, 63609, 66338, 69067, 71795, 74524, 77252, 79981, 82710, 85438, 88167, 90895, 93624, 96352, 99081, 101810, 104538, 107267, 109995, 112724, 115452, 118181, 120910, 123638, 126367, 129095, 131824, 134553, 137281, 140010, 142738, 145467, 148195, 150924, 153653, 156381, 159110, 161838, 164567, 167295, 170024, 172753, 175481, 178210, 180938, 183667, 186395, 189124, 191853, 194581, 197310, 200038]]
    攻击次数 = 12
    # 暗雷系
    # 黑雷之枪
    data1 = [int(i*1.085) for i in [0, 26475, 32615, 38754, 44893, 51032, 57172, 63311, 69450, 75590, 81729, 87868, 94008, 100147, 106286, 112425, 118565, 124704, 130843, 136983, 143122, 149261, 155401, 161540, 167679, 173818, 179958, 186097, 192236, 198376, 204515, 210654, 216794, 222933, 229072, 235211, 241351, 247490, 253629, 259769, 265908, 272047, 278187, 284326, 290465, 296604, 302744, 308883, 315022, 321162, 327301, 333440, 339580, 345719, 351858, 357997, 364137, 370276, 376415, 382555, 388694, 394833, 400973, 407112, 413251, 419390, 425530, 431669, 437808, 443948, 450087]]
    攻击次数2 = 8
    CD = 290.0
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        等效倍率 += self.data0[self.等级] * self.攻击次数
        # 暗雷系
        等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2
        return 等效倍率 * self.倍率

# 暗蚀之枪攻击力
# 黑雷之枪攻击力


技能列表 = []
i = 0
while i >= 0:
    try:
        tem = eval('技能'+str(i)+'()')
        tem.基础等级计算()
        技能列表.append(tem)
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

一觉序号 = 0
二觉序号 = 0
三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        三觉序号 = 技能序号[i.名称]

护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        护石选项.append(i.名称)

符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        符文选项.append(i.名称)


class 职业属性(角色属性):
    实际名称 = '千魂·暗枪士'
    角色 = '魔枪士'
    职业 = '暗枪士'

    武器选项 = ['暗矛']

    类型选择 = ['魔法百分比']

    类型 = '魔法百分比'
    防具类型 = '皮甲'
    防具精通属性 = ['智力']

    主BUFF = 1.93

    远古记忆 = 0

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        self.暗属性强化 += self.技能栏[self.技能序号["暗蚀"]].属强加成()
        super().被动倍率计算()


class 千魂·暗枪士(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 职业属性()
        self.角色属性A = 职业属性()
        self.角色属性B = 职业属性()
        self.一觉序号 = 一觉序号
        self.二觉序号 = 二觉序号
        self.三觉序号 = 三觉序号
        self.护石选项 = deepcopy(护石选项)
        self.符文选项 = deepcopy(符文选项)
